perm filename BLOCKS.AX[W76,JMC] blob sn#201120 filedate 1976-02-13 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	DECLARE INDCONST Table ε Blocks
C00004 ENDMK
C⊗;
DECLARE INDCONST Table ε Blocks;

DECLARE INDVAR s s1 s2 s3 s4 ε Situations;

DECLARE INDVAR x y z x1 y1 z1 x2 y2 z2 ε Blocks;

DECLARE PREDCONST clear(Blocks,Situations);

DECLARE OPCONST move(Blocks,Blocks,Situations) = Situations;

DECLARE OPCONST support(Blocks,Situations) = Blocks;

AXIOM TABLE:	∀x s.(¬support(Table,s) = x);;

AXIOM CLEAR:	∀x s.(clear(x,s) ≡ ∀y.(¬y=support(x,s)));;

AXIOM MOVE:	∀x y z s s1.(clear(x,s) ∧ (clear(y,s) ∨ y = Table)
∧ s1 = move(x,y,s) ∧ ¬(y=x) ∧ ¬(z=x) ⊃ support(x,s1) = y
∧ support(z,s1) = support(z,s));;


DECLARE INDCONST A B C ε Blocks;

AXIOM ALL:	∀x.(x=A ∨ x=B ∨ x=C ∨ x=Table);;

AXIOM DISTINCT:	¬(A=B)∧¬(A=C)∧¬(A=Table)∧¬(B=C)∧¬(B=Table)∧¬(C=Table);;

DECLARE INDCONST S0 ε Situations;

AXIOM INITIAL: support(C,S0) = B ∧ support(B,S0) = Table ∧ support(A,S0)=Table;;